package com.project.mapper;

import com.project.bean.ShoppingCarBean;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * @Author(王思翰)
 * @Description(类的描述)
 * @Date(创建时间) 2021/8/1 13:48
 */
public interface IShoppingCarMapper {
    /**
     * 根据用户id，查询用户名下购物车集合,同时查询出购物车中的商品信息
     *
     * @param userId 用户id
     * @return 购物车集合
     */
    public List<ShoppingCarBean> findByUser(int userId);

    /**
     * 先判断该用户下面是否有购买该产品
     * 如果有，则使其数量+1
     * 如果没有，添加购物车对象，默认数量为1
     *
     * @param userId    用户id
     * @param productId 商品id
     */
    public void add(@Param("userId") int userId, @Param("productId") int productId);

    /**
     * 查询当前用户id是否存在该商品id的购物车对象
     *
     * @param productId 商品id
     * @param userId    用户id
     * @return 购物车对象
     */
    public ShoppingCarBean selectProduct(@Param("userId") int userId, @Param("productId") int productId);

    /**
     * 根据购物车id更改购买此商品的数量
     *
     * @param id     购物车id
     * @param number 购买数量
     */
    public void update(@Param("id") int id, @Param("number") int number);

    /**
     * 根据购物车id移除此购物车对象
     *
     * @param id 购物车id
     */
    public void del(int id);

}
